The present invention relates to tape drive systems for reading tape being transferred relative to a transducer, and, more particularly, to such a system incorporating position capture circuitry for more precise positioning of the tape relative to position marks recorded on the tape. While its scope is not so limited, the present invention arose during development of a streaming tape drive for magnetic recording tape.
The elongated form of tape is well-suited for storing information that is likewise much longer than it is wide. This includes most processable information, even information presented in parallel streams of data. In addition to having an appropriate morphology, tape can generally be fed from and wound about reels for compact storage and convenient access.
A widely used tape storage medium is magnetic recording tape, in which information is stored as flux levels in the magnetic medium. Magnetic tape media can provide for storage of both analog information, as in common video and audio decks, and digital information, e.g., when used for secondary computer storage. Alternative tape media include "old" technologies, such as punched paper tape, and "new" technologies, such as laser-etched holograms on polyester film, as well as current technologies, such as movie film.
Each of these technologies requires a transducer for converting the information as stored on the tape to processable information, and vice-versa. "Processable" is taken relative to a processing technology. With respect to modern digital electronics processing circuitry, information can be presented in binary form as represented by discrete voltage levels. Different information processing technologies require alternative forms of processable information. Likewise, "transducer" is relative to the combined selections of form of stored information and form of processable information. The transducer generally includes a head, e.g., read head, projector lamp, laser pick-up, across and relative to which tape must be transferred to convert information to processable form.
This transfer can be performed by a drive mechanism. In the case of a streaming tape drive, the drive mechanisms can include a supply or load reel, a take-up reel or hub, and one or two motors to supply power to these reels. Also typically included are guides to precisely align and transversely position the tape with respect to the head. Generally, a streaming tape drive system includes a buffer arm or other means for regulating the tension of the tape during transfer.
The drive mechanism is controlled and regulated by a servo, generally microcontroller-based, which responds to external inputs and to internal feedback in directing the motors to stop, start, increase speed or decrease speed. Examples of servo controller functions include: adjusting the transfer speed in response to feedback from a tape speed sensor that an appropriate speed is not being maintained; differentially adjusting the speeds of the supply and take-up reels in response to feedback from a buffer arm position sensor indicating that tape tensioning needs to be adjusted; and issuing a decrease speed command followed by a stop as a comparison of data supply-reel speed sensor and the tape speed sensor indicate that the supply-reel is almost empty.
In higher performance tape drive systems, the information stored on the tape contains more than the data which is to be stored and retrieved. Included in the data stream along with this "user" data is "system" data designed to facilitate the action of the system in recording and retrieving the "user" data. The system data can include, for example, error correction codes, synchronization marks, various data block identification marks, and data block boundary marks. In the last case, data is generally organized into blocks, the boundaries of which can be marked by specific flux patterns on magnetic tape, or simply by the absence of data activity for a specified minimum tape length, or by a combination of the two approaches.
Sophisticated read circuitry includes sections for detecting and initiating actions as indicated by "system data". Among the functions performed by the read system is the determination of when a read, or write, has failed so that a retry is necessary. The determination that a retry is necessary is forwarded to the servo, which, for example, commands the drive system to stop, back-up and re-read, or re-write, the block in which an uncorrectable error was indicated.
Such a retry operation can be quite complex, especially in the case of high-performance streaming tape drives due to the high speed of tape transfer, large angular momentum of the reels, and resultant delays during starting and stopping. To retry, it is generally necessary to re-try the entire block of data in which an error occurred. In order to effect a retry, the servo must command the drive mechanism to stop the transfer of tape. A significant delay necessarily occurs between issuance of the command and its execution, during which time, the tape changes position. The servo then must direct the drive mechanism to backspace the tape over the distance the tape moved since the stop command was issued, over the distance the tape moved between error detection and issuance of the stop command, over the distance between the beginning of the data block, and over an additional distance required for the drive mechanism to bring the tape transfer up to speed before reaching the beginning of the block to be re-read.
In less sophisticated tape drive systems, such as home audio decks, the retry, which is, of course, user regulated, can be crudely implemented by backing the tape "more than enough", so that the necessary retry is effected, although some "redundant" good data is also re-read. Given that data block boundaries are marked, a more sophisticated system can also back up "more than enough" and discard data prior to the detection of an appropriate block boundary. However, this can be timewise inefficient and can introduce uncertainty as to which boundary has been detected.
Such loss of time and uncertainty are unacceptable in high performance tape drives. The servo needs to know the position of the relevant boundary in order to optimally reposition the drive mechanism. Since, generally, the tape position is not the same as the boundary position by the time a retry signal is received, it is necessary for the position of the boundary to be stored in the processing system prior to the determination that a retry is necessary.
Accordingly, some high-performance streaming tape drives routinely record the position data block boundaries as they are detected. A typical sequence would be: the read circuitry detects a boundary and signals the detection to the servo controller; the servo controller responds to the detection signal by accessing a tape position indicator for a boundary mark position value; this value is stored. If an retry is required, the tape transfer is stopped, the tape position indicator is accessed again for a current position value. The current position value is compared to the stored position value, and then a retry start point is calculated. The servo issues back-spacing commands and monitors the tape position indicator until its reading matches the calculated value.
While providing an improvement in precision over prior re-try method, the just-described method is not satisfactory for state-of-the-art streaming tape drives. While there are multiple factors leading to this inadequacy, a major one is the uncertainty introduced by the delay in servo controller response to a boundary detection. Since the servo controller is responsible for a great number of functions and must continually poll a multitude of inputs, there can be a small, yet significant, delay of uncertain duration between receipt and recognition of a boundary detection signal by the servo controller 19. This delay translates into an uncertainty in the accuracy to which the stored boundary position value represents the actual position of that boundary on the tape.
To provide some dimensions to the problem, in one instance, such a system could provided virtually instantaneous recognition of a detection signal, while in another case, successive sequences of instructions, with each instruction involving one to several clock cycles, may be executed before recognition. There is no well defined upper boundary, and a 50 clock cycle delay would not be improbable. With a, for example, 1.6 MHz clock with tape at 200 inches per second, the positioning precision would be limited to 10 mils.
This retry scenario is one example where it is necessary to have access to a very accurate stored position mark value. Thus, what is needed is an improved tape drive system incorporated a more accurate approach to position capture.